Skip to content

Comments

chore: Migrate to Ultracite#11948

Merged
anthonyshew merged 28 commits intomainfrom
ultracite
Feb 23, 2026
Merged

chore: Migrate to Ultracite#11948
anthonyshew merged 28 commits intomainfrom
ultracite

Conversation

@haydenbleasel
Copy link
Member

@haydenbleasel haydenbleasel commented Feb 21, 2026

Okay @anthonyshew here's the skinny:

What is this?
A linter preset that enforces consistent code style and catches common mistakes automatically.

Why are more rules turned off in the config?
Because the Ultracite preset we're extending turns on so many rules by default, it would cause issues. Think of it like this - originally you had like 5 rules enabled. Ultracite enables like 800. So we turn off a couple to make it play nice with Turborepo.

Why did it change so many files?
Because I ran the linter with the new preset. I modified Ultracite to reduce the potential changes from 19000+ to a couple of hundred. The changes are mechanical — no logic changed.

Will it reduce bugs?
Yes, in the sense it enables rules like react/exhaustive-deps that catch runtime bugs.

Will it make the code faster?
Surprisingly, yes which I know you'll enjoy (albeit marginally). For example, I swapped your forEaches to for...of loops which are slightly faster since there's no callback overhead.

Will this have any impact on my day to day life?
You may get more recommendations from Oxlint telling you to do things a certain way, or they may just fix themselves once you hit save. If they don't, tell old mate Claude to fix.

Is there more to come?
If you want. This is a very custom version of Ultracite with many rules disabled to make it easily adoptable by Turborepo. If you want to adopt more later, it's as easy as disabling the rule overrides in .oxlint.json and letting Ultracite do it's work (or more likely, asking me to do it).

@haydenbleasel haydenbleasel requested review from a team and anthonyshew as code owners February 21, 2026 02:23
@haydenbleasel haydenbleasel requested review from tknickman and removed request for a team February 21, 2026 02:23
@turbo-orchestrator turbo-orchestrator bot added area: examples Improvements or additions to examples area: site Issues and improvements related to Turborepo's documentation website pkg: create-turbo Issues related to npx create-turbo pkg: turbo-codemod pkg: turbo-eslint eslint-config-turbo and eslint-plugin-turbo pkg: turbo-gen pkg: turbo-ignore packages/turbo-ignore pkg: turbo-repository pkg: turbo-telemetry labels Feb 21, 2026
@anthonyshew anthonyshew merged commit a0db6bf into main Feb 23, 2026
181 of 183 checks passed
@anthonyshew anthonyshew deleted the ultracite branch February 23, 2026 14:43
github-actions bot added a commit that referenced this pull request Feb 23, 2026
## Release v2.8.11-canary.23

Versioned docs: https://v2-8-11-canary-23.turborepo.dev

### Changes

- release(turborepo): 2.8.11-canary.22 (#11963) (`ac0f273`)
- chore: Migrate to Ultracite (#11948) (`a0db6bf`)
- perf: Add more tracing spans into startup path (#11965) (`23e144d`)

---------

Co-authored-by: Turbobot <turbobot@vercel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: examples Improvements or additions to examples area: site Issues and improvements related to Turborepo's documentation website pkg: create-turbo Issues related to npx create-turbo pkg: turbo-codemod pkg: turbo-eslint eslint-config-turbo and eslint-plugin-turbo pkg: turbo-gen pkg: turbo-ignore packages/turbo-ignore pkg: turbo-repository pkg: turbo-telemetry pkg: turbo-workspaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants